package com.xci.core.internal;

/**
 * 系统常量
 * @author lvyanyang
 */
public class Const {
    /**
     * 默认日期时间格式字符串
     */
    public static final String DEFAULT_DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";

    /**
     * 日期分钟格式字符串
     */
    public static final String DEFAULT_DATE_MS_PATTERN = "yyyy-MM-dd HH:mm";

    /**
     * 默认日期格式字符串
     */
    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";

    /**
     * 默认时间格式字符串
     */
    public static final String DEFAULT_TIME_PATTERN = "HH:mm:ss";

    /**
     * 新建记录标记
     */
    public static final String CREATE_MARK = "_create_";

    /**
     * UTF-8编码
     */
    public static final String UTF8 = "UTF-8";

    /**
     * 根节点Id
     */
    public static final String ROOT_NODE_ID = "0";

    /**
     * 单个路径长度
     */
    public static final Integer PATH_LENGTH = 4;

    /**
     * 空字符串
     */
    public static final String EMPTY = "";

    /**
     * JwtToken加密解密密钥
     */
    public static final String JWT_SECRET_KEY = "3MZq/0BYyGcXYoXjhS4%QbAM+2YdlLCwKRr2gvVJO/J";

    /**
     * AES加密方法
     */
    public static final String AES_METHOD="AES";

    /**
     * AES实例字符串
     */
    public static final String AES_INSTANCE="AES/CBC/PKCS5Padding";

    /**
     * AES加解密密钥
     */
    public static final String AES_SECRET_KEY = "3Zq/0Yy/Gc4Y/b8%";

    /**
     * AES填充向量
     */
    public static final String AES_Padding_IV = "0000000000000000";

    /**
     * 仅支持字母、数字、下划线、空格、逗号（支持多个字段排序）
     */
    public static final String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";

    /**
     * 导出图片类型
     */
    public static final String PRO_JPEG = "image/jpeg";
    
    /**
     * 响应类型:octet-stream
     */
    public static final String P_OCTET = "application/octet-stream";

    /**
     * 响应类型:json
     */
    public static final String P_JSON = "application/json";

    /**
     * 响应类型:x-www-form-urlencoded
     */
    public static final String P_FORM = "application/x-www-form-urlencoded";

    /**
     * token字段
     */
    public static final String TOKEN = "token";

    /**
     * ID字段
     */
    public static final String ID = "id";

    /**
     * 正序排序方式
     */
    public static final String ASC = "asc";

    /**
     * 倒序排序方式
     */
    public static final String DESC = "desc";

    /**
     * 请求头app键名
     */
    public static final String HEADER_APPID_KEY = "appId";

    /**
     * 请求头timestamp键名
     */
    public static final String HEADER_TIMESTAMP_KEY = "timestamp";

    /**
     * 请求头token键名
     */
    public static final String HEADER_TOKEN_KEY = "token";

    /**
     * 当前应用键名
     */
    public static final String CURRENT_APP_API_KEY = "_currentAppApi_";

    /**
     * 当前用户Api键名
     */
    public static final String CURRENT_USER_API_KEY = "_currentUserApi_";

    /**
     * 当前用户Session键
     */
    public static final String CURRENT_USER_Session_KEY = "_currentUserSession_";

    /**
     * 当前用户Cookie键名
     */
    public static final String CURRENT_USER_COOKIE_KEY = "_currentUserCookie_";

    /**
     * 用户主键字段
     */
    public static final String USER_ID = "id";

    /**
     * 创建日期字段
     */
    public static final String CREATE_TIME = "createTime";

    /**
     * 更新日期字段
     */
    public static final String UPDATE_TIME = "updateTime";

    /**
     * 操作日期字段
     */
    public static final String OPERATE_DATE_TIME = "operateDateTime";

    /**
     * 用户数据资源名称
     */
    public static final String R_USER = "user";

    /**
     * 角色数据资源名称
     */
    public static final String R_ROLE = "role";

    /**
     * 机构数据资源名称
     */
    public static final String R_DEPT = "dept";

    /**
     * 模块数据资源名称
     */
    public static final String R_MODULE = "module";

    public static final String M_SYS = "System";

    /**
     * 新建记录标记
     */
    public static final String CreateMark = "_create_";

    /**
     * 模块
     */
    public static class Module {
        /**
         * 系统应用
         */
        public static final String App = "系统应用";

        /**
         * 系统参数
         */
        public static final String Param = "系统参数";

        /**
         * 系统字典
         */
        public static final String Dic = "系统字典";

        /**
         * 系统角色
         */
        public static final String Role = "系统角色";

        /**
         * 系统用户
         */
        public static final String User = "系统用户";

        /**
         * 系统机构
         */
        public static final String Dept = "系统机构";

        /**
         * 系统文件
         */
        public static final String File = "系统文件";

        /**
         * 系统序列
         */
        public static final String Seq = "系统序列";

        /**
         * 系统模块
         */
        public static final String Module = "系统模块";

        /**
         * 系统报表
         */
        public static final String Report = "系统报表";

        /**
         * 系统图表
         */
        public static final String Chart = "系统图表";

        /**
         * 系统部件
         */
        public static final String Widget = "系统部件";

    }
}